1. Field of the Invention
Embodiments of the present invention relate generally to physics simulation systems and more specifically to two-way rigid body coupling for shallow water simulations.
2. Description of the Related Art
Fluid simulation systems have undergone significant improvements recently with respect to visual accuracy in various settings, such as interactions between materials. However, most of these improvements are not available to interactive, real-time environments, such as games. One major barrier to implementing recent techniques in real-time environments is a large computational throughput that is needed for solving full three-dimensional (3D) fluid motion, and tracing free surfaces for rendering.
One approach to increasing simulation performance in fluid simulations is to reduce the problem from three dimensions to two dimensions. Instead of using 3D grid cells, a fluid is represented by a two-dimensional (2D) height field comprising 2D grid cells, each with an associated height. For calm situations (e.g., smooth waves and ripples), this representation can capture principle visual properties of a free surface fluid.
In addition to simulating fluids, many simulation scenarios also involve two-way rigid body coupling (interaction) with fluid surfaces. A strait forward approach for simulating rigid bodies interacting with a fluid surface is to have the rigid body push down against fluid columns beneath the rigid body. To conserve water volume, fluid that is added to or removed from each column or grid cell is compensated for in neighboring grid cells of the fluid simulation. This technique yields acceptable waves for two-way rigid body coupling between substantially floating objects and the surface of a corresponding fluid. However, this technique does not accommodate a more general scenario of two-way rigid body coupling involving a submerged rigid body. For example, if a rigid body is pulled under a fluid surface, this technique does not realistically yield a debit in the fluid of a size and shape corresponding to the rigid body, as would be expected in a natural setting.
As the foregoing illustrates, what is needed in the art is a technique for efficiently computing two-way rigid body coupling for both floating and submerged objects within a real-time simulation.